package com.youkeyi.ddy.cloud.common.api.basic.pub.annex;

import com.youkeyi.ddy.cloud.common.api.basic.pub.annex.dto.PublicAnnexListCloudDto;
import com.youkeyi.ddy.cloud.common.api.basic.pub.annex.param.PublicAnnexCreateCloudParam;
import com.youkeyi.ddy.cloud.common.api.basic.pub.annex.param.PublicAnnexDeleteCloudParam;
import com.youkeyi.ddy.cloud.common.api.basic.pub.annex.param.PublicAnnexQueryCloudParam;
import com.youkeyi.ddy.cloud.common.api.basic.pub.server.param.PublicServerDeleteCloudParam;
import com.youkeyi.ddy.cloud.common.response.ResponseContent;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * PublicAnnexCloudService
 *
 * @Annexor liuxiawang
 * @Date 2024/2/19 2:31 PM
 * @Location shenzhen.china
 */
@RestController
@FeignClient(value = "YOUKEYI-DDY-CLOUD-BASIC-PUBLIC", fallback = PublicAnnexCloudServiceFallback.class)
@RequestMapping("/public/annex")
public interface PublicAnnexCloudService {

    /**
     * 查询文件列表.
     *
     * @param param the param
     * @return the annex list cloud dto
     */
    @PostMapping(value = "/query")
    public abstract PublicAnnexListCloudDto query(@RequestBody PublicAnnexQueryCloudParam param);

    /**
     * 新增文件.
     *
     * @param param the param
     * @return the response content
     */
    @PostMapping(value = "/create")
    public abstract ResponseContent create(@RequestBody PublicAnnexCreateCloudParam param);

    /**
     * 删除文件.
     *
     * @param param the param
     * @return the response content
     */
    @PostMapping(value = "/delete")
    public abstract ResponseContent delete(@RequestBody PublicAnnexDeleteCloudParam param);

}
